Smartcards are gaining acceptance in our society, especially with the increasing need for authorized: authentication, storing values and storing personalized information. Authentication is concerned with ensuring that only authorized individuals gain access to systems and buildings. A smartcard can be used as an electronic wallet to store units of different currency denominations, as well as acting as a credit card. Values can be replenished on a smartcard. The smartcard is capable of holding a large amount of data of different forms and for different purposes but usually of a personal nature.
Smartcard (SC) technology has allowed for storing of secure information within an integrated circuit card. The secure information is stored in such a format that software keys and certificates are required for authentication purposes before information is retrieved. An encoding standard, known as PKCS15 dictates how these keys and certificates are represented in terms of smartcard files and directories. The format securely controls external access to files and directories on the smartcard during the process of encoding information, or reading information from the smartcard.
Each of the directory files: Private Key, Public Key, Secret Key, Certificate or Data Object, occupy a non volatile array of addressable memory within the smartcard. Typically this array of non-volatile array addressable memory is of the EEPROM type with memory sizes from 8 kb up to 32 kb. Directories on the SC are addressable using an interface system. The smartcard is inserted into an interface system, such that the interface system interacts with the information within the directory files on the smartcard, providing and storing the necessary information pertinent to a nature of a transaction within the interface system.
If the interface system is used for monetary purchases, then typically prior to transaction, pertinent information is first read into cache memory within the interface system. It is within this cache memory that the system reads stored smart cart used identities, accounts and balances, which will be used for purchases made during the transaction.
Once a purchase is complete and the transaction has ended, pertinent information is written back to the non-volatile memory within the smartcard, such that an appropriate record of the transaction is stored. Unfortunately, writing of the same length of information back to the smartcard takes a longer amount of time than reading of the same information form the smartcard. Non-volatile, EEPROM or FLASH memory is quite slow when it comes to writing to, as comparison to volatile memory. Typically information is stored in complete files on the smartcard. As a result when updates of information are made on the smartcard, the interface requires significantly more time in order to save changed files back to the smartcard
It is therefore an object of this invention to provide a method of writing data to smartcard files in such a manner so as to decrease the amount time the interface system spends in saving data to the card by using a comparative writing approach.